草庐IT

c++ - std::iterator、指针和 VC++ 警告 C4996

全部标签

windows - 64 位 Windows 8.1 和 Qt 上的 MIDI 应用程序 - 指针大小问题

我正在尝试开发一个C++Windows应用程序来处理来自某些MIDI设备的MIDI信息。我强制使用的操作系统是Windows8.164位。开发环境为Qt。在阅读了大量网页后,我发现Windows有一组低级函数来处理MIDI数据,允许将WindowsMIDI驱动程序与任何应用程序连接。这些功能在此处描述http://msdn.microsoft.com/en-us/library/windows/desktop/dd757277(v=vs.85).aspx到目前为止,我编写的软件工作正常,我能够在我的应用程序中处理传入的MIDI短消息。尽管如此,当涉及到将一些缓冲区从应用程序传递到驱动程

c++ - 如何在 VC++ 的 Windows 7 或 Windows 8 中延迟关机/重启/休眠

我正在使用使用C++开发的基于vs2012的应用程序。如果应用程序正在运行并进行一些处理,并且用户触发重启/关机或休眠,则重启/关机应该暂停,直到应用程序处理完成。应用程序处理完成后,Windows应恢复重启/关闭。如果可以提供一些引用或示例代码,我将不胜感激谢谢 最佳答案 我做了这样的事情boolshutdownSystemWin(EShutdownActionsaction){HANDLEhToken;TOKEN_PRIVILEGEStkp;//Getatokenforthisprocess.if(!OpenProcessTok

windows - _USING_V110_SDK71_ 未从 VC++ 2015、v140_xp、Release 中的默认值继承?

总结Release版编译时报atlcore.h未声明标识符SetDefaultDllDirectories,编译Debug时报错。进一步调查表明_USING_V110_SDK71_发挥了作用。它应该继承自项目默认值(见下图),但它不是用于组合:ReleaseMinDependency和v140_xp。详细信息:我正在将C++nativeATL应用程序从VisualC++2005迁移到VisualC++2015。目标是尽可能长时间地保持WindowsXP运行版本。因此,为项目设置了v140_xpPlatformToolset。它适用于调试版本。但是,它会导致ReleaseMinDepen

windows - 将Win32封装在一个类中——在CreateWindow中传递类指针

我看了很多关于这个主题的教程和帖子,他们都说我在我的CreateWindowEx()函数中传递类实例指针(this),然后存储它在窗口过程函数中,当WM_NCCREATE消息被发送时。我猜这是因为WM_NCCREATE应该是自创建窗口以来发送到窗口过程的第一条消息。几个问题/注意事项:通过调试,我了解到实际上WM_GETMINMAXINFO是第一条发送的消息,在WM_NCCREATE之前(至少在我的机器上是这样).这是否意味着我应该监听此消息而不是WM_NCCREATE?根据this热门文章,大家之所以在收到消息WM_NCCREATE后调用SetWindowLongPtr()是因为If

windows - 如何使用 DvbSiparser.h 在 vc++ 中解析 mpeg2 TS?

我有一个Mpeg2TS应该被分析。我使用的是WindowsKitver8(或8.1)中引入的头文件,名为Dvbsiparser.h。我知道(但不确定)我应该构建一个过滤器图,然后添加两个重要的过滤器:1。Mpeg2部分和表2.Mpeg2传输信息之后,我使用IDvbSiParserobj来分析流。当我想实例化IDvbSiParser时:CoCreateInstance(__uuidof(IDvbSiParser),...,...,IID_IDvbSiParser,...)我收到链接错误:未解析的外部IID_IDvbSiParser。我使用Visualstdio2013、.Net4.5和m

java - 当我从命令行启动 java 应用程序时,我可以防止数字签名警告吗?

有什么方法可以避免在命令行运行Java应用程序时出现“无法验证应用程序的数字签名”的警告信息?我正在寻找一个命令行解决方案,它允许在持续集成服务器上启动这样的应用程序,因此我需要一个不需要手动干预的解决方案。此外,我不希望对任何应用程序禁用此警告,因为这可能存在安全风险。不确定是否有帮助,但我知道签名的“名称”、“发布者”和“来自”字段的值。请确定,我不是在询问如何签署此申请。更新1我想解决方案是使用keytool从命令行导入证书,但由于某种原因它确实无法正确导入它,因为在此之后它没有出现在控制面板小程序中,并且应用程序仍然需要它。keytool-importcert-filemy.c

c++ - 如何在 VC++ 中获取 WPF 应用程序的屏幕截图?

如何在VC++中获取WPF应用程序的屏幕截图?在VC++中,我有一个WPF应用程序窗口的HWND。使用GDIPrintWindow的传统方法在WPF应用程序上无法正常工作(当WPF呈现缓慢时出现黑屏)。还有其他方法可以将WPF应用程序的屏幕截图作为HBITMAP吗? 最佳答案 会GetDC&BitBlt为GDI+方案更改任何内容?? 关于c++-如何在VC++中获取WPF应用程序的屏幕截图?,我们在StackOverflow上找到一个类似的问题: https:

windows - 如何让我的安装程序将 Visual Studio 2013 (VC120) 运行时部署到 Windows XP?

我最近将我的应用程序更新到VisualStudio2013。我试图在放弃支持之前制作最终的WindowsXP版本,但在将安装程序版本从200更改为405后我遇到了安装程序问题。我必须这样做才能包含VC120合并模块。当我尝试在WindowsXP上安装我的应用程序时,我收到一个对话框,提示“Windows安装程序服务无法安装此安装包。您必须安装包含更新版本的WindowsInstaller服务的Windows服务包。但是,这台机器确实有最新的服务包。有什么方法可以让我将VC120运行时与我的应用程序一起重新分发到WindowsXP? 最佳答案

windows - cmd 相当于 std::string::find_first:of

C++、Java、JavaScript和其他可能的编程语言都有一个字符串函数,可以在字符串中搜索指定字符串模式中的任何字符。例如,C++的std::string::find_first_of像这样工作:std::coutCMD中是否有任何等效项?我尝试搜索“dos字符串函数”,但似乎找不到任何内容。 最佳答案 没有直接的方法,但您可以很容易地编写自己的方法。搜索一个字符@echooffcall:charposition"Searchmeforvowels"aposechoFoundaatposition%pos%goto:eof:c

windows - 给定一个指针,我如何找到它所属的 _HEAP_ENTRY?

我正在学习使用WinDbg,我可能会偏离正轨,但我假设如果我的程序没有使用分页堆,而不是“拥有”的_DPH_HEAP_BLOCK结构一个指向我的分配的指针,我会为分配的数据设置一个_HEAP_ENTRY。给定堆上已分配数据的地址,我如何找到与之对应的_HEAP_ENTRY(在WinDbg中),或者我的问题甚至没有意义?我的问题的根源是我想知道转储中的分配是否已释放或堆是否以某种方式损坏。 最佳答案 !heap-p-a启用页堆后,这会转储出有用的信息(可能包括最后一个分配/释放此堆block的人的调用堆栈)-我认为这可视化了_DPH_